1
並行処理の分類:プロセス、I/Oマルチプレクシング、スレッド
AI031Lesson 12
00:00

コンピュータシステムの世界では、 アプリケーションレベルの並行処理 論理的な制御フローを意図的に重ね合わせることで、パフォーマンスと応答性を向上させる。これは機能的な抽象化であり、プログラムが独立したタスクに分割され、順序を入れ替えたり、並列に実行できるようにする。

1. 並行処理の分類

開発者は、これらの並行処理を管理するために、一般的に3つの基本的なメカニズムのうちいずれかを選択する。

  • プロセス: 個別の仮想アドレス空間を持つ高い分離性;カーネルによる中継が必要なIPC(プロセス間通信)を要する。
  • I/Oマルチプレクシング: 単一のフローが「準備完了」イベントの間を手動で切り替える(状態機械)。
  • スレッド: データ交換が容易な単一の仮想アドレス空間を共有する軽量なフロー。
並行プログラム逐次的並列的主な理由:I/O遅延の隠蔽UIの応答性マルチコアスケーラビリティマルチクライアントサーバー

2. 論理的実行と物理的実行の違い

すべての 並列プログラム 並列プログラムはすべて並行処理であるが、すべての並行処理プログラムが並列であるわけではない。並列性とは、別々のハードウェアコア上でフローを物理的に実行することである。並行処理は、そのような実行が可能になるように設計された論理的な構造である。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>